//-------------------------------------------------------------------------------------------------------
// VST Plug-Ins SDK
// Version 2.4		
//
// Category     : VST 2.x SDK Samples
// Filename     : InverseChannels.h
// Created by   : Timothe Faudot
// Description  : Simple  plugin that inverse left and right channels
//
//-------------------------------------------------------------------------------------------------------

#ifndef __InverseChannels__
#define __InverseChannels__

#include "public.sdk/source/vst2.x/audioeffectx.h"

//-------------------------------------------------------------------------------------------------------
class InverseChannels : public AudioEffectX
{
public:
	InverseChannels (audioMasterCallback audioMaster);
	~InverseChannels ();

	// Processing
	virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
	virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
	
	// Program
	virtual void setProgramName (char* name);
	virtual void getProgramName (char* name);
	
	virtual bool getEffectName (char* name);
	virtual bool getVendorString (char* text);
	virtual bool getProductString (char* text);
	virtual VstInt32 getVendorVersion ();

protected:
	char programName[kVstMaxProgNameLen + 1];
};

#endif
